home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 June / EnigmA AMIGA RUN 08 (1996)(G.R. Edizioni)(IT)[!][issue 1996-06][EARSAN CD VII].iso / earcd / utmisc2 / onehand.lzh / OneHand / ForceQualify.asm next >
Assembly Source File  |  1994-02-23  |  756b  |  46 lines

  1.  
  2. ; ForceQualify.asm, For use in OneHand.
  3. ; © Kamran Karimi.
  4. ;
  5. ; Assembled with SAS/C 6.00 assembler.
  6. ; asm -iinclude: ForceQualify.asm
  7.  
  8.  include "devices/inputevent.i" 
  9.  
  10.  
  11.  XDEF Qualify
  12.  XDEF ForceQualify
  13.  
  14.  SECTION "ForceQualify",CODE
  15.  
  16. ForceQualify:
  17.  move.l  a0,-(a7)
  18.  cmpi.b  #IECLASS_RAWMOUSE,ie_Class(a0)
  19.  beq     CheckLoop
  20.  cmpi.b  #IECLASS_RAWKEY,ie_Class(a0)
  21.  bne     CheckNext
  22. CheckLoop:
  23.  moveq   #7,d3 ;8 keys
  24.  moveq   #0,d0
  25.  moveq   #1,d1 
  26. Check:
  27.  lea     Qualify(pc),a2
  28.  adda.l  d0,a2
  29.  cmpi.w  #1,(a2)
  30.  bne     NoForcing
  31.  or.w    d1,ie_Qualifier(a0)
  32. NoForcing:
  33.  add.l   #2,d0
  34.  lsl.w   #1,d1
  35.  dbf     d3,Check
  36. CheckNext:
  37.  movea.l (a7),a0
  38.  move.l  (a0),d0
  39.  movea.l d0,a0
  40.  bne     CheckLoop
  41.  move.l  (a7)+,d0
  42.  rts
  43.  
  44. Qualify: dc.w 0,0,0,0,0,0,0,0
  45.  end
  46.